function k=my_fact(n)%这里k的意思是，整个函数返回变量k
 if nargin~=1,error('Error:Only one input variable accepted');
 end
 if(abs(n-floor(n)))>eps | n<0%判断n是否为非负整数，如果不是则给出错误信息
     error('n should be a non-negative integer');
 end

 if n>1,k=n*my_fact(n-1);
    elseif any([0 1]==n),k=1;
 end
 